package com.sh.instructor.controller;

import com.sh.instructor.service.StaffService;
import io.swagger.annotations.Api;

import io.swagger.annotations.ApiOperation;

import org.springframework.web.bind.annotation.*;
import com.sh.instructor.dto.InstructorParma;
import sh.dto.ResultDto;

import sh.entity.Staff;
import sh.validate.MyValidator;

import javax.annotation.Resource;

/**
 * 教职员工表(Staff)表控制层
 *
 * @author makejava
 * @since 2021-05-10 16:28:17
 */
@RestController
@RequestMapping("staff")
@Api(tags = "任课老师模块")
public class StaffController {
    /**
     * 服务对象
     */
    @Resource
    private StaffService staffService;


//    /**
//     * 通过主键查询单条数据
//     *
//     * @param id 主键
//     * @return 单条数据
//     */
//    @GetMapping("selectOne")
//    @ApiOperation(value = "任课老师的方法")
//    @ApiImplicitParams({
//            @ApiImplicitParam(name = "id",value = "任课老师Id",required = true,dataType = "Integer"),
//    })
//    public Staff selectOne(Integer id) {
//        return this.staffService.queryById(id);
//    }

    //查看学生信息  根据科目 选择班级 查询学生 是否录入成绩 批量录入 单个录入 调用学生的接口信息
    //修改学生成绩 删除学生成绩 添加学生成绩
    //发起考试  选择科目   选择所教学的班级(多选) 选择类型   添加任课老师的考试
    //根据任课老师相关的科目是否有考试  存在考试点击 查看此次考试的班级 点击班级进入到该班级的学生的成绩录入
    //查看任课老师的个人信息，根据任课老师的Id或者工号  进行修改
    //根据登录后保存的用户信息进行查询自己的信息  可以修改自己教学的科目吗
    //查看任课老师的相关留言界面  进行回复

    /**
     * 查询个人信息
     * @param
     * @return
     */
    @PostMapping("/selfInfo")
    @ApiOperation(value = "显示个人信息的方法")
//    @ApiImplicitParams({
//            @ApiImplicitParam(name = "staffId",value = "任课老师Id",required = true,dataType = "Integer")
//    })
    public ResultDto getSelfInfo(@RequestBody InstructorParma instructorParma){
        //验证
        MyValidator validate=new MyValidator();
        validate.validate(instructorParma);
//        System.out.println(instructorParma.getStaffId());
        return this.staffService.queryById(instructorParma.getStaffId());
    }

    /**
     * 修改个人信息
     * @param
     * @return
     */
    @PostMapping("/selfInfo/update")
    @ApiOperation(value = "显示个人信息的方法")
    public ResultDto getSelfInfo(@RequestBody Staff staff){
        return staffService.update(staff);
    }


}
